La JNI (Java Native Interface) est une bibliothèque logicielle d'interfaçage, intégrée nativement au JDK de Java, qui permet au code Java s'exécutant à l'intérieur de la JVM d'appeler et d'être appelé[1] par des applications natives (c'est-à-dire des programmes spécifiques au matériel et au système d'exploitation de la plate-forme concernée), ou avec des bibliothèques logicielles basées sur d'autres langages (C, C++, assembleur, etc.).
Voici quelques exemples d'utilisation de JNI :